package ops.weixin.cp.bean;

import java.io.Serializable;
import java.util.Collections;
import java.util.List;

import com.alibaba.fastjson.JSON;
import com.alibaba.fastjson.JSONObject;
import com.google.common.base.Splitter;

import ops.weixin.cp.util.StringUtils;

/**
 * 消息发送结果对象类.
 * 
 * @author SuM
 * @date: 2019年12月24日下午5:24:31
 */
public class WxCpMessageSendResult implements Serializable {
	private static final long serialVersionUID = 916455987193190004L;

	/**
	 * = 0 发送成功，其他发送失败
	 */
	private Integer errcode;
	
	/**
	 * 失败原因
	 */
	private String errmsg;
	
	/**
	 * 无效的接收用户id集:   userid1|userid2
	 */
	private String invaliduser;
	
	
	private String invalidparty; // 无效组织id集
	private String invalidtag;   // 无效标签id集

	public static WxCpMessageSendResult fromJson(String json) {
		JSONObject jsonObject = JSONObject.parseObject(json);
		return JSON.toJavaObject(jsonObject, WxCpMessageSendResult.class);
	}

	public List<String> getInvalidUserList() {
		return this.content2List(this.invaliduser);
	}

	private List<String> content2List(String content) {
		if (StringUtils.isBlank(content)) {
			return Collections.emptyList();
		}

		return Splitter.on("|").splitToList(content);
	}

	public List<String> getInvalidPartyList() {
		return this.content2List(this.invalidparty);
	}

	public List<String> getInvalidTagList() {
		return this.content2List(this.invalidtag);
	}

	public Integer getErrcode() {
		return errcode;
	}

	public void setErrcode(Integer errcode) {
		this.errcode = errcode;
	}

	public String getErrmsg() {
		return errmsg;
	}

	public void setErrmsg(String errmsg) {
		this.errmsg = errmsg;
	}

	public String getInvaliduser() {
		return invaliduser;
	}

	public void setInvaliduser(String invaliduser) {
		this.invaliduser = invaliduser;
	}

	public String getInvalidparty() {
		return invalidparty;
	}

	public void setInvalidparty(String invalidparty) {
		this.invalidparty = invalidparty;
	}

	public String getInvalidtag() {
		return invalidtag;
	}

	public void setInvalidtag(String invalidtag) {
		this.invalidtag = invalidtag;
	}
	
	
}
